package com.leyou.item.service;

import com.leyou.item.dto.BrandDTO;

import java.util.List;

import com.leyou.common.vo.PageResult;
import org.springframework.transaction.annotation.Transactional;

/**
 * Created by IntelliJ IDEA.
 *
 * @author: wangzibeng
 * Date: 2019/4/28 0028
 * Time: 16:53
 */
@Transactional
public interface BrandService {

    /**
     * 查询brand
     *
     * @param keyWord     非必须
     * @param currentPage 默认1
     * @param sortBy      非必须
     * @param flag        默认 false
     * @param pageSize    默认显示条数5
     * @return
     */
    PageResult<BrandDTO> queryBrandByPage(String keyWord, Integer currentPage, String sortBy, Boolean flag, Integer pageSize);


    /**
     * 新增brand
     *
     * @param brandDTO
     * @param cids     分类id
     */
    @Transactional
    void saveBrand(BrandDTO brandDTO, List<Long> cids);

    /**
     * 更新编辑品牌
     *
     * @param brandDTO
     * @param cids
     */
    void editBrand(BrandDTO brandDTO, List<Long> cids);

    /**
     * 删除品牌
     *
     * @param bid
     */
    void deleteBrand(Long bid);

    /**
     * 根据ID查询Brand
     *
     * @param id
     * @return
     */
    BrandDTO queryBrandById(Long id);

    /**
     * 根据categoryID查询所有的Brand
     *
     * @param id
     * @return
     */
    List<BrandDTO> queryBrandByCategoryId(Long id);

    /**
     * 根据多个id查询品牌
     * @param ids
     * @return
     */
    List<BrandDTO> queryBrandsByIds(List<Long> ids);
}
